package com.example.llh.weather_llh_21;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 网络请求工具类：封装 HTTP GET 请求操作
 */
public class NetworkUtils {
    /**
     * 执行 GET 请求获取天气数据
     * @param urlString 目标 API 的完整 URL 地址
     * @return 服务器返回的 JSON 格式响应字符串
     * @throws IOException 当网络连接异常或数据读取失败时抛出
     */
    public static String fetchWeatherData(String urlString) throws IOException {
        // 创建 HTTP 连接对象
        HttpURLConnection connection = (HttpURLConnection) new URL(urlString).openConnection();
        connection.setRequestMethod("GET");// 设置请求方法为 GET

        // 使用 try-with-resources 自动关闭流
        try (BufferedReader reader = new BufferedReader(
                new InputStreamReader(connection.getInputStream()))) {
            // 读取服务器响应内容
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);// 逐行拼接响应数据
            }
            return response.toString();// 返回完整 JSON 字符串
        } finally {
            // 最终代码块确保断开连接
            connection.disconnect();
        }
    }
}